package org.jeecg.common.api.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: bike_pile
 * @Author: jeecg-boot
 * @Date:   2021-05-19
 * @Version: V1.0
 */
@Data
@TableName("bike_member_user")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bike_member_user对象", description="bike_member_user")
public class MemberDTO implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**会员号*/
	@Excel(name = "会员号", width = 15)
    @ApiModelProperty(value = "会员号")
    private String code;

    /**姓名*/
    @Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private String name;
    /**证件号*/
    @Excel(name = "证件号", width = 15)
    @ApiModelProperty(value = "证件号")
    private String idCard;

	/**手机号*/
	@Excel(name = "手机号", width = 15)
    @ApiModelProperty(value = "手机号")
    private String phone;
    /**用户头像*/
    @Excel(name = "用户头像", width = 15)
    @ApiModelProperty(value = "用户头像")
    private String headIcon;
    /**是否用户区域权限*/
    @Excel(name = "是否实名认证", width = 15)
    @ApiModelProperty(value = "是否实名认证")
    private String isCertification;
    /**年龄*/
    @Excel(name = "年龄", width = 15)
    @ApiModelProperty(value = "年龄")
    private java.lang.Integer age;
    /**是否免密支付*/
    @Excel(name = "是否免密支付", width = 15)
    @ApiModelProperty(value = "是否免密支付")
    private String isSecretFree;
	/**登陆密码*/
	@Excel(name = "登陆密码", width = 15)
    @ApiModelProperty(value = "登陆密码")
    private String password;
	/**注册类型*/
	@Excel(name = "注册类型", width = 15)
    @ApiModelProperty(value = "注册类型")
    private String registerType;
    /**注册时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "注册时间")
    private java.util.Date registerTime;
    /**余额*/
    @Excel(name = "余额", width = 15)
    @ApiModelProperty(value = "余额")
    private java.math.BigDecimal balance;
    /**状态(1正常2异常3黑名单4注销)*/
    @Excel(name = "状态", width = 15, dicCode = "member_status")
    @Dict(dicCode = "member_status")
    @ApiModelProperty(value = "状态(1正常2异常3黑名单4注销)")
    private String status;
    /**异常状态*/
    @TableField(exist = false)
    @Excel(name = "故障异常状态", width = 15)
    @ApiModelProperty(value = "故障异常状态")
    private String rideStatus;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String memo;

    @TableField(exist = false)
    @ApiModelProperty(value = "验证码")
    private String smsCode;

    @TableField(exist = false)
    @ApiModelProperty(value = "骑行时长")    private String ridingTime;

    @TableField(exist = false)
    @ApiModelProperty(value = "车辆编号")
    private String vehicleCode;


    @TableField(exist = false)
    @ApiModelProperty(value = "token")
    private String token;


}
